// 版权归Go作者所有。版权所有。
// 此源代码的使用受BSD样式
// 许可证的约束，该许可证可以在许可证文件中找到。

package bytealg

import "internal/cpu"

const MaxBruteForce = 64

func init() {
	if cpu.X86.HasAVX2 {
		MaxLen = 63
	} else {
		MaxLen = 31
	}
}

// 切换报告IndexByte的失败次数在切换到Index之前，我们应该容忍
// 。
// n是到目前为止处理的字节数。
// 有关详细信息，请参见bytes.Index实现。
func Cutover(n int) int {
	// 8个字符中有1个错误，加上开始时的一些斜率。
	return (n + 16) / 8
}
